The present invention relates to sensory stream analysis, and in particular, to detection of trigger signatures from sensory streams in energy constrained environments.
Many electronic systems today rely on continuous sensing of real world information to guide in data collection, storage, analysis, computation, communication, decision making and/or actuation. The sensors and the first tier of the sensory processing systems are often deployed in energy constrained environments. Typically, the raw data stream must be in analyzed by a low power, general purpose primary processor or central processing unit (“CPU”) for temporal and spatial trigger signatures that either identify that an event of interest has occurred, or, conversely, rule out such an event. Trigger signatures can be detected flexibly in software executing on the primary processor by analyzing the raw data stream as it arrives, but this often requires a significant energy budget due to the ongoing use of the primary processor, particularly for continuous and/or high volume data streams.
Such continuous sensing applications are becoming increasingly commonplace for medical, health, and safety monitoring of critical sensory data streams, such as human electrocardiograph (“EKG”), electroencephalograph (“EEG”), pulse, blood pressure, and patient activity levels. For example, human sleep characteristics may be monitored via an EEG monitoring slow wave activity of the brain, including as described in U.S. Pat. No. 8,029,431, “Method and Apparatus for Promoting Restorative Sleep” to Giulio Tononi, the contents of which are hereby incorporated by reference.
Continuous sensing applications are also becoming increasingly commonplace for environmental monitoring, such as emission levels, pollutant concentrations, or seismic data, and in the mobile space, including smart phones, tablets and other mobile computers. Such sensing may be used to trigger context and location aware computation and/or communication. For example, information sent from a 3-axis accelerometer in a mobile phone may be used to infer the type and level of activity of the user, either independently or in conjunction with other sensors. For example, entering the driver's seat of an automobile could generate an identifiable accelerometer signature which could be used to disable text messaging while driving. The ability to continuously deploy flexible sensing and processing for these and other applications has the potential to revolutionize these fields. However, energy constraints often limit the development of such applications.
Typically, within the context of energy constrained battery-operated systems, the primary processor that interfaces with and controls various sensors is designed to operate mainly for bursts of user activity. To optimize power dissipation and to improve the battery life of the system, such processors compute aggressively for short durations, which consume a significant amount of power, then enter a sleep/idle or low power consumption mode to save energy. Such designs rely on the assumption that periods of sleep will be significantly longer as compared to the periods of aggressive processing. This assumption does not hold true, however, for many continuous sensing applications. Since continuous sensing applications require the primary processor to continuously monitor the sensory streams, these applications expect the processor to be in the processing mode all the time, thereby causing the processor to continuously dissipate significant energy. Furthermore, the requirement of continuously or periodic sampling prevents the primary processor from going into the low power consumption mode which prevents the opportunity for saving further energy. This often drains battery-operated processing systems faster than would otherwise be the case.
Some designs have advocated using a low-power microcontroller interfaced with the primary processor to allow continuous sensing, which may be a separate physical chip or a separate core within the primary processor. Though helpful, such low-power implementations typically include a dedicated CPU and various memories and data paths, which still require far more energy, physical space and compute resources than necessary for continuously analyzing sensory stream data with the least amount of energy consumed.